EN FR
EN FR


Section: New Software and Platforms

StarPU

Participants : Olivier Aumage, Andra Hugo, Nathalie Furmento, Raymond Namyst, Marc Sergent, Samuel Thibault, Pierre-André Wacrenier.

  • StarPU permits high performance libraries or compiler environments to exploit heterogeneous multicore machines possibly equipped with GPGPUs or Xeon Phi processors.

  • StarPU offers a unified offloadable task abstraction named codelet.In case a codelet may run on heterogeneous architectures, it is possible to specify one function for each architectures (e.g. one function for CUDA and one function for CPUs).

  • StarPU takes care to schedule and execute those codelets as efficiently as possible over the entire machine. A high-level data management library enforces memory coherency over the machine: before a codelet starts (e.g. on an accelerator), all its data are transparently made available on the compute resource.

  • StarPU obtains portable performances by efficiently (and easily) using all computing resources at the same time.

  • StarPU also takes advantage of the heterogeneous nature of a machine, for instance by using scheduling strategies based on auto-tuned performance models.

  • StarPU can also leverage existing parallel implementations, by supporting parallel tasks, which can be run concurrently over the machine.

  • StarPU provides scheduling contexts which can be used to partition computing resources. Scheduling contexts can be dynamically resized to optimize the allocation of computing resources among concurrently running libraries.

  • StarPU provides integration in MPI clusters through a lightweight DSM over MPI.

  • StarPU provides a scheduling platform, which makes it easy to implement and experiment with scheduling heuristics

  • StarPU comes with a plug-in for the GNU Compiler Collection (GCC), which extends languages of the C family with syntactic devices to describe StarPU 's main programming concepts in a concise, high-level way.

  • StarPU has support for simulating the execution, by using the simgrid simulator, which allows to reproduce experiments on a remote system, or to even virtually modify the platform used to run the application

  • StarPU has been extended to provide runtime support for the Klang-OMP OpenMP compiler. StarPU's OpenMP runtime support is compliant with most OpenMP 3.0 constructs, and also supports new dependent tasks and accelerated targets constructs introduced by OpenMP 4.0.

  • http://runtime.bordeaux.inria.fr/StarPU/